Methods, systems, and computer program products for implementing intelligent agent services

ABSTRACT

Implementing intelligent agent services includes generating an ontological domain for an individual based upon sets of information elements. A set of the information elements represents aspects of a detectable behavior of the individual at a point in time. The detectable behavior is one of a number of detectable behaviors of the individual occurring within a physical and virtual geography and in relation to time. The detectable behaviors include an activity conducted by the individual at a computer and a presence of the individual at a function. Implementing the intelligent agent services also includes determining relevance of relationships among the sets of the information elements in the ontological domain, and searching sources of information using the sets of the information elements having a relationship determined to be relevant, and identifying a solution for satisfying an interest based on the search.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/543,546, filed Aug. 19, 2009. The Ser. No. 12/543,546 application isa continuation application of U.S. patent application Ser. No.11/314,614, filed Dec. 20, 2005, the entire contents of each of whichare incorporated herein by reference.

BACKGROUND

The present invention relates generally to automated data collection andprocessing, and more particularly, to methods, systems, and computerprogram products for implementing ontological domain and contextuallyintelligent agent services.

Information is ubiquitously created and exchanged using a variety ofcommunications technologies and systems. Various techniques have beenemployed to capture and organize information in a way that facilitatesquick and simple retrieval and subsequent utilization. Intelligentdevices, or artificial intelligence devices, have been developed forattempting to codify specific information about a discipline, or domain,which can then be used for a variety of purposes.

In addition, collaborative filtering techniques have been used toaggregate similar information sets from multiple individuals and providea summary opinion. Another technique has employed ontologically relatedsystems for allowing domain experts to create ontologies that can beused for drawing inferences. However, these pre-defined domains do notreflect the personalized needs, interests, or preferences of people atan individual level. Nor do these domains dynamically change over timeas the preferences or interests of an individual change.

What is needed, therefore, is a way to address the individualpreferences, interests, and needs of individuals by automaticallycollecting individual-specific information and generating customizedontological domains for use in analysis and inferences. What is alsoneeded is a way to identify and present specific solutions that addressthe needs, preferences, and interests of individuals.

BRIEF SUMMARY

Exemplary embodiments include methods for implementing intelligent agentservices. A method includes generating, via a computer, an ontologicaldomain for an individual based upon sets of information elements. A setof the information elements represents aspects of a detectable behaviorof the individual at a point in time. The detectable behavior is one ofa number of detectable behaviors of the individual occurring within aphysical and virtual geography and in relation to time. The detectablebehaviors include an activity conducted by the individual at a computerand a presence of the individual at a function. The method also includesdetermining, via the computer, relevance of relationships among the setsof the information elements in the ontological domain, searching sourcesof information using the plurality of sets of the information elementshaving the relationship determined to be relevant, and identifying asolution for satisfying an interest in response to the searching. Thesolution has a relationship to the activity conducted at the computerand the presence of the individual at the function.

Additional embodiments include a system for implementing intelligentagent services. The system includes a host system computer and anapplication executing on the host system computer. The applicationperforms a method that includes generating an ontological domain for anindividual based upon sets of information elements. A set of theinformation elements represents aspects of a detectable behavior of theindividual at a point in time. The detectable behavior is one of anumber of detectable behaviors of the individual occurring within aphysical and virtual geography and in relation to time. The detectablebehaviors include an activity conducted by the individual at a computerand a presence of the individual at a function. The method also includesdetermining relevance of relationships among the sets of the informationelements in the ontological domain, searching sources of informationusing the plurality of sets of the information elements having therelationship determined to be relevant, and identifying a solution forsatisfying an interest in response to the searching. The solution has arelationship to the activity conducted at the computer and the presenceof the individual at the function.

Further embodiments include a computer program product for implementingintelligent agent services. The computer program product includesinstructions embodied on a computer storage medium, which when executedby a computer cause the computer to implement a method. The methodincludes generating an ontological domain for an individual based uponsets of information elements. A set of the information elementsrepresents aspects of a detectable behavior of the individual at a pointin time. The detectable behavior is one of a number of detectablebehaviors of the individual occurring within a physical and virtualgeography and in relation to time. The detectable behaviors include anactivity conducted by the individual at a computer and a presence of theindividual at a function. The method also includes determining relevanceof relationships among the sets of the information elements in theontological domain, searching sources of information using the pluralityof sets of the information elements having the relationship determinedto be relevant, and identifying a solution for satisfying an interest inresponse to the searching. The solution has a relationship to theactivity conducted at the computer and the presence of the individual atthe function.

Other systems, methods, and/or computer program products according toembodiments will be or become apparent to one with skill in the art uponreview of the following drawings and detailed description. It isintended that all such additional systems, methods, and/or computerprogram products be included within this description, be within thescope of the present invention, and be protected by the accompanyingclaims.

BRIEF DESCRIPTION OF DRAWINGS

Referring now to the drawings wherein like elements are numbered alikein the several FIGURES:

FIG. 1 depicts a system upon which the ontological domain andintelligent agent services may be implemented in exemplary embodiments;

FIG. 2 is a flow diagram describing a process for implementing theontological domain services in exemplary embodiments;

FIG. 3 is a data structure including sample data fields for storinginformation elements and creating records for use in implementing theontological domain services in exemplary embodiments;

FIG. 4 is a database of records created using the data structuredepicted in FIG. 3 in exemplary embodiments;

FIG. 5 is a record illustrating a sample ontological domain used inimplementing the ontological domain services in exemplary embodiments;

FIG. 6 is a sample notification that includes an interest resulting fromimplementation of the ontological domain services in exemplaryembodiments;

FIG. 7 is a flow diagram describing a process for implementing theintelligent agent services in exemplary embodiments; and

FIG. 8 is a sample notification that includes content resulting from theimplementation of the intelligent agent services in exemplaryembodiments.

The detailed description explains the exemplary embodiments, togetherwith advantages and features, by way of example with reference to thedrawings.

DETAILED DESCRIPTION

In accordance with exemplary embodiments, ontological domain andcontextually intelligent agent services are provided. Informationelements for detectable behaviors are gathered and an ontological domainis defined that reflects the information elements in terms oftransactions, locations, queries, and other behavioral indicators thatoccur within a physical and/or virtual geography and in relation totime. The ontological domain may be considered to be a contextualorganization of an information domain around a concept. Detectablebehaviors may include any type of activity, presence, transaction, etc.,that is capable of being detected by a human and/or machine.

The ontological domain is self-governing and may include one or moredomain categories, or sub-domains that provide an information structurethat enables orthogonally related elements among the sub-domains to beascertained and utilized. An interest can be determined from analyzingthe ontological domain. An interest may include any type of informationthat is determined to be of value or relevance to a particularindividual. An interest may also include a need of the individual. Anidentified interest may be used by the contextually intelligent agentservices to identify and search sources of information for addressingthe interest. The intelligent agent services look for matches amonginformation elements found within the information sources andinformation elements relating to the interest. Any matches are analyzedin order to determine a likely solution to the interest. The solution isthen made available to the relevant individual or entity. Theontological domain services are described in FIGS. 1-6 and theintelligent agent services are described in FIGS. 1, 5, and 7-8.

Turning now to FIG. 1, a system upon which the ontological domain andintelligent agent services may be implemented in accordance withexemplary embodiments will now be described. The system of FIG. 1includes a host system 102 in communication with devices 110, 112, and116, as well as information sources 104, 106, and 108 via one or morenetworks 117. Host system 102 may be implemented by a service providerof the ontological domain and intelligent agent services describedherein. For example, host system 102 may be operated by a networkservice provider that provides Internet, Web, cable television,telephone, or other similar type of services to customers, in additionto the ontological domain and intelligent agent services. Alternatively,host system 102 may be implemented by an application service provider(ASP) or other service enterprise.

In exemplary embodiments, information sources 104, 106, and 108 includea merchant 104, a financial institution 106, and a web serverinformation source 108. Merchant 104 may be a ‘brick and mortar’ entitythat provides products and/or services to customers at a geographiclocation (e.g., a local hardware store, a grocery market, a gas station,a retail chain establishment, etc.). Additionally, or alternatively,merchant 104 may be a ‘virtual’ establishment that provides goods and/orservices over a network via, e.g., a website.

Financial institution 106 refers to a bank, credit union, or otherentity that provides financial services (e.g., checking/savingsaccounts, loans, mortgages, investments, credit services, etc.) tocustomers. Financial institution 106 may be a ‘brick and mortar’facility and/or a virtual establishment, similar to the merchant 104described above.

In exemplary embodiments, Web server source 108 refers to a networkentity that provides information (e.g., in response to requests,queries, searches, etc.) to requesting individuals. Web server source108 includes server software executing on a processor and a data storewith network connectivity and may provide access to information in itsdata store via a web site or portal to individuals. An example of aninformation source implemented by Web server source 108 is a Web Log orBLOG established for users in a BLOG community or a personal websitemaintained and operated by an individual. Alternatively, web serversource 108 may include websites that provide information such as linkdirectories, white papers, reference libraries, etc.

The information sources described above are provided for illustrativepurposes. It will be appreciated that any number and type of informationsources that provide electronic information, products, and/or servicesmay be utilized in implementing the exemplary embodiments describedherein.

In exemplary embodiments, a mobile communications device 110, a usersystem 112, a financial instrument 114, and a global positioning system(GPS) device 116 are also included in the system of FIG. 1. Each ofthese items 112-116 may be under the control of an individual or entity(e.g., a business). Mobile communications device 110 may be a cellulartelephone, personal digital assistant (PDA), pager, laptop, or a hybriddevice that utilizes various communications technologies (e.g., digitalwireless and over-the-air) technologies.

The user system 112 refers to a personal computer or desktop device thatis network-enabled via, e.g., digital subscriber line (DSL), dial-up, orother similar type of networking systems and services. User system 112may execute applications, such as a web browser, word processing tool,messaging application, etc.

Financial instrument 114 may be a credit card, bank or automated tellermachine (ATM) card, retailer credit card, check, or other similar typeof negotiable instrument.

GPS device 116 may be located in an automobile (not shown), a mobiledevice (e.g., device 110), or other object.

In exemplary embodiments, host system 102 is in communication with astorage device 122, which is also included in the system of FIG. 1.Storage device 122 stores a variety of information including, e.g.,information element records, ontological domains, notifications andagent messages (also referred to herein as “publications”) as will bedescribed further herein. Storage device 122 may be implemented using avariety of devices for storing electronic information. It will beunderstood that the storage device 122 may be implemented using memorycontained in the host system 102 or may be a separate physical device.The storage device 122 is logically addressable as a consolidated datasource across a distributed environment that includes network(s) 117.Information stored in the storage device 122 may be retrieved andmanipulated via the host system 102.

The host system 102 depicted in FIG. 1 may be implemented using one ormore servers operating in response to a computer program stored in astorage medium accessible by the server(s). The host system 102 mayoperate as a network server (e.g., a web server) to communicate with theinformation sources 104, 106, and 108, mobile communications device 110,user system 112, and GPS device 116. The host system 102 handles sendingand receiving information to and from these devices and can performassociated tasks. The host system 102 may also include a firewall toprevent unauthorized access to the host system 102 and enforce anylimitations on authorized access. For instance, an administrator mayhave access to the entire system and have the authority to modifyportions of the system. A firewall may be implemented using conventionalhardware and/or software as is known in the art.

The host system 102 may also operate as an application server. The hostsystem 102 executes one or more computer programs to provide ontologicaldomain and intelligent agent services. As shown in the system of FIG. 1,host system 102 is executing an ontological domain (OD) application 118for implementing the ontological domain services, as well as an agentapplication 120 for implementing the intelligent agent services.Processing may be shared by other network entities (e.g., informationsources 104-108, and/or devices 110, 112, 114, 116 and the host system102 by providing an application (e.g., java applet) to these systems.Alternatively, these systems can include stand-alone softwareapplications for performing a portion of the processing describedherein. As previously described, it is understood that separate serversmay be utilized to implement the network server functions and theapplication server functions.

Furthermore, the host system 102 may be integral with one of the devices110, 112, 114, or 116. In this example, the OD application 118 and theagent application 120 would be embedded or enabled by one of thosedevices 110, 112, 114, or 116 without the need for a separate hostsystem 102. A single device 110, 112, 114, or 116 would therefore becapable not only of detecting and communicating information but also ofacting on that information through the OD application 118 and the agentapplication 120 which are resident on that device 110, 112, 114, or 116.As an example, consider an individual hiking on a mountain with a device110. The device 110 may be able to detect the altitude, the GPS locationof the individual, and receive weather information that warns ofimpending severe weather conditions. The device 110 may also haveobtained information on a tent previously purchased by the individualand the purchase of a cabin rental. The OD application 118 detects aneed for the individual to take protective action and the agentapplication 120 provides possible solutions, such as immediately goingback down the mountain to the cabin or information on how and where topitch the tent to be protected from the elements. In addition to havingthe host system 102, which includes the OD application 118 and agentapplication 120, resident on one of the devices 110, 112, 114, or 116,the host system 102 may reside on multiple of the devices 110, 112, 114,or 116 and/or the processing of the OD application 118 and the agentapplication 120 may be shared among devices 110, 112, 114, or 116.

The network(s) 117 may be any type of known networks including, but notlimited to, a wide area network (WAN), a local area network (LAN), aglobal network (e.g. Internet), a virtual private network (VPN), anintranet, or a combination thereof. The network(s) 117 may beimplemented using wireless network technologies or any kind of physicalnetwork implementation known in the art. Mobile communications device110, user system 112, GPS device 116, and/or the host system 102 may beconnected to the network(s) 117 in a wireless fashion.

Turning now to FIG. 2, a process for implementing the ontological domainservices will now be described in accordance with exemplary embodiments.The ontological domain services provide a mechanism for automating thecollection of information that is derived from detectable behaviors.These behaviors may be conducted via any of devices 110, 112, 114, and116 and/or via any of information sources 104, 106 and 108. At step 202,host system 102 receives information elements from a source. Theinformation source of these elements may be one or more of mobilecommunications device 110, user system 112, GPS device 116, or any ofinformation sources 104, 106, and 108. For example, the detectablebehavior might be an individual accessing a website of a travel agency(e.g., merchant 104) via user system 112 and, using financial instrument114 to purchase a reservation at a hotel. A set of information elementsthat may be produced by this behavior may include the name, address, andphone number of the individual ordering the reservation, the name of thehotel, the date of the reservation, the cost of the room, the method ofpayment (e.g., account number, card issuer, etc.), the name andidentification (e.g., website address) of the travel agent, and othersimilar types of information elements. Much, if not all, of thisinformation is easily captured during the purchase/order transaction.

A record of the transaction from which these information elements may beextracted is typically handled by the financial institution (e.g., 106)that processes the charge on behalf of the individual, the merchant(e.g., 104) via a reservation confirmation, and/or the individual via anelectronic sales receipt transmitted, e.g., via email to the individualat the user system 112. Because much of this information may beconfidential, the host system 102 providing the ontological domainservices may establish a trusted relationship with specified sources ofinformation in order to protect the identity of the individual and/orthe privacy information contained in these information elements. Thetrusted relationship may include secure channels of communication (viae.g., encryption, virtual private networking technologies, and othertools for protecting confidential information).

In another example, the detectable behavior may be the presence of theindividual in a geographic location. If the individual carries acellular telephone (e.g., mobile communications device 110), thedetectable behavior may include the presence of the individual in aspecific location (e.g., cell) that is detected by a servicing celltower, whereby the individual's cellular telephone communicates a signalto the cell tower, which in turn, notifies the host system 102 (eithervia the cellular telephone itself or directly). The set of informationelements may include the identification of the location, the date, timeand/or duration of the presence in the location, or other types ofinformation.

A similar type of detectable behavior may be the location of theindividual using GPS device 116. The detectable behavior may be acquiredvia the device 116, which sends a signal to a satellite, and which inturn, provides the location information to the host system 102 ordirectly to the device (e.g., automobile) that is carrying the GPSdevice 116. These information elements are collected by the ontologicaldomain application 118 over a period of time (e.g., days, weeks, months,etc.).

In another example, a detectable behavior may be the presence of anindividual at a particular function, e.g., a road race. The informationelements may be derived from a combination of sources, such as aregistration to participate in the event via a website and GPSinformation derived from the individual's presence at the event. Theinformation elements produced from the website registration may includethe nature of the function (e.g., road race), and the date and time ofthe event. The relationships between the registration information (e.g.,date, time, and function), coupled with the GPS information (e.g., thelocation of the individual at the same date and time noted in theregistration) provide a full picture of the behavior.

Returning now to FIG. 2, the ontological domain application 118 filtersthe set of information elements and selects primary terms and/or tagsfrom these elements at step 204. This may be accomplished, for example,by eliminating commonly occurring words, such as “a”, “the”, “an”, “or”,etc. from the information set. The primary terms and/or tags may becaptured and stored in a record using a standardized construct or datastructure and corresponding data fields at step 206. A sample datastructure 300 is shown in FIG. 3. The data fields include a RECORDIDENTIFIER that may be used to uniquely identify a particular recordwhich, in turn, stores a set of information elements. Each record mayinclude multiple behaviors that may simultaneously occur at a givenpoint in time. Other data fields provided in data structure 300 will bedescribed in more detail in FIG. 4.

Turning now to FIG. 4, a database of records (including sample data)produced using the data structure 300 of FIG. 3 will now be described inaccordance with exemplary embodiments. Database 400 of FIG. 4 includesmultiple records that are identified in column 402A and stored inchronological order in the database 400. As shown in database 400, therecords span a time period from Dec. 1, 2005 through Mar. 1, 2006(column 402B). The time periods provided in column 402B reflect the dateof the occurrence of the corresponding behavior. Likewise, the timecolumn 402C indicates a time of the occurrence of the correspondingbehavior. Each row in database 400 reflects a record. The data fieldscapturing the filtered information elements are shown as 402B-402I.Thus, for example, an individual frequented Anna's Market at 9:00 a.m.on Dec. 1, 2005. Anna's Market is located on Main Street. The individualpurchased bread at the market for $5.00. The filtered informationelements, or primary terms, from this activity are stored in the firstRecord of database 400.

As indicated above, multiple behaviors may be detected for a singleactivity or behavior. While only two columns are shown in database 400(e.g., column 402F and 402G) to reflect a single behavior, it will beappreciated that additional columns may be provided in database 400 toreflect these multiple behaviors. It will also be appreciated thatinformation elements may be acquired from a behavior that do not neatlyfall into the specific columns or data fields provided in database 400.An OTHER column 402H provides flexibility in enabling additionaldescriptive information elements to be captured. For example, Record 2illustrates that an individual purchased a Mercedes® automobile andwithin this purchase transaction, the current mileage of the vehicle iscaptured and stored in the record. Column 402I reflects a VALUE columnthat enables a value to be entered that corresponds to the nature of thebehavior. For example, the cost of the vehicle in the second record isprovided in the value column 402I, while the duration of a web search isprovided in the value column 402I of Record 8 of database 400. Othervalues may be indicated in column 402I, e.g., cost savings.

Turning back to FIG. 2, the application 118 creates an ontologicaldomain at step 208 using the records produced in step 206, a sample ofwhich is shown in FIG. 5. The ontological domain application 118linguistically assembles the collected information into sub-domains thatare categorized using an arbitrarily formed and self-organizedclassification scheme. In other words, the ontological domain is notpre-defined by a “domain expert” but is dynamically created, defined,and refined over time based upon newly collected information and ananalysis engine or component of the ontological domain application 118.

As shown in FIG. 5, the ontological domain includes sub-domains 502-510,namely, AUTO 502, TRAVEL 504, RECREATION 506, BIRDS 508, and HOME 510.Each sub-domain provides a contextually-organized collection ofinformation elements using, e.g., a topical index produced from thebehaviors. Each sub-domain, therefore, is customized according to theparticular behaviors of an individual or actuator. For example, a shownin FIG. 5, sub-domain 510 includes a collection of home-relatedinformation elements that are grouped by topic (e.g., the individual'shome). Note that the elements provided in sub-domain 510 reflect thebehaviors produced and tracked, in part, in Records 4, 6, and 8-10 ofdatabase 400. Likewise, detectable behaviors used in collecting elementsfor sub-domain 502 may include, e.g., purchasing a car (Record 2),servicing the car, purchasing gasoline, and enrolling in an automobileservicing program.

Returning to FIG. 2, the ontological domain is analyzed by theontological domain application 118. The analysis may be implementedusing various combinations of search strings (e.g., concatenating two ormore data fields 402B-402I) and searching the records for patterns,frequency, etc., that indicate one or more relationships among theelements. In addition, or alternatively, the analysis may include somepre-defined logic for assisting in the analysis. The analysis mayinclude determining the relevance of each of the information elementsbased upon measurable aspects, e.g., quantity, frequency, costs,redundancy, history, relative location, time, duration, value, or acombination thereof at step 210. The relevance of these informationelements may be determined by applying weights using these aspects inorder to ascertain the significance of these behaviors at step 212. Theanalysis is useful in understanding the potential importance orsignificance of the information elements to the individual. Theserelevance determinations may change over time as new behaviors aredetected and analyzed.

Potential relationships among elements between sub-domains aredetermined at step 214 and any relevance of these relationships. Forexample, using the ontological domain 500 of FIG. 5, suppose thatsub-domain 502 reflects that the mileage on the individual's car is20,000 as reflected by the service history (which also reflects that thelast servicing was 3 months ago at the time of purchase). Suppose also,that the sub-domain 504 reflects that the individual booked a trip to ahotel in Vermont in March of 2006 (as shown in Record Y1 of database 400of FIG. 4). Also suppose that the distance between the individual'sresidence and the hotel in Vermont is 200 miles. This distance may beacquired by acquiring the location of the individual's residence fromsub-domain 510 and calculating the distance between the locations using,e.g., a mapping tool). The ontological domain application 118 analyzesthe elements within these sub-domains in order to assess anyrelationships among them. The analysis results in a relationship betweenthe sub-domains 502, 504, and 510 with respect to the automobile, therecreation, and the residence, respectively. The relationshipsdetermined among the sub-domain elements may result in a proposed orpredicted interest for the individual at step 216; namely, theautomobile may need to be serviced if a trip to Vermont is imminent. Asshown in FIG. 2, this analysis is a looping process (step 214 returns tostep 208) in order to account for newly acquired information.

At step 218, the ontological domain application 118 may publish theresults of the analysis for the benefit of the individual. Theindividual may access the results in a number of ways. For example, theresults may be formatted into a message format. A sample message 600 isshown and described in FIG. 6. The message 600, or notification, may betransmitted to the individual via network(s) 117, e.g., as an email,telephone communication, text message, or other means. The message 600may be stored on any of devices 110, 112, or 116.

As indicated above, contextual intelligent agent services are alsoprovided by the host system 102. The intelligent agent services areimplemented via agent application 120 executing on the host system 102and provide a mechanism for enabling automated intelligent agents toacquire and synthesize disparate types of information from a variety ofinformation sources, and to present relevant and useful information torespective individuals, entities, and/or servicing agents that requestthese services. The intelligent agent services may be facilitated usinginformation collected about an individual and/or by information directlyprovided by the individual. Alternatively, or in addition, theintelligent agent services may be facilitated using information acquiredfrom one or more ontological domains (e.g., from the interest resultingfrom the process described in FIG. 2).

Turning now to FIG. 7, a process for implementing the intelligent agentservices will now be described in accordance with exemplary embodiments.At step 702, an interest is identified. As indicated above, the agentapplication 120 may receive this information, e.g., directly from anindividual in the form of a request or it may be ascertained using,e.g., the results of the analysis performed on an ontological domain(e.g., domain 500). For example, suppose there is an interest in findinga vacation destination that is suitable for a family of four during themonth of July.

The agent application 120 utilizes an agent that creates a search stringat step 703 from the information elements and searches for informationsources (e.g., information sources 104-108 of FIG. 1) that maypotentially address the interest at step 704. This may be performedusing various techniques, such as searching a database of informationsources using key word search techniques (e.g., key words that reflect,identify, or describe the interest). A commercial search engine may beemployed for identifying information sources as well. In addition,information sources may not be entirely electronic sources ofinformation, but rather may be a combination of electronic, human,and/or mechanical sources of information. Using the above example, thesearch string used in the search may include [vacation+touristattractions+July+family friendly+hotel+airline], etc. In addition, ifthe agent application 120 utilizes an ontological domain (e.g., domain500) for the individual in this request, additional information elementsmay be inferred for this key word search, e.g., children's ages,residence of family from sub-domain 510 (e.g., in order to determine thenearest airport), interests (e.g., sub-domain 506 and 508 elements),etc.

Once one or more information sources are identified, the agent gathersinformation elements from these one or more sources via communicationstransmission technologies including, e.g., Rich Site Summary (RSS), FileTransfer Protocol (FTP), BitTorrent, etc. at step 706. The informationgathered may be formatted using a standardized data structure similar tothe one shown and described in FIG. 3.

At step 708, the information elements gathered in step 706 are comparedwith information elements associated with the interest in order toidentify any matches. At step 710, it is determined whether any matcheshave been found. If not, the process returns to step 706 whereinformation continues to be gathered. Otherwise, the agent application120 determines if the matches exceed a threshold at step 711. If so, thesearch string is modified at step 712 and the flow returns to step 706.The threshold is provided in order to ensure that only the most relevantinformation is returned (e.g., too many results may indicate that thesearch string is too broad and would not provide useful, relevantinformation).

If, however, the matches do not exceed the threshold at step 711, theintelligent agent application 120 analyzes the matches at step 714. Theanalysis may include determining the relevance of the informationelements in a manner similar to that described in step 212 of FIG. 2(e.g., by using the threshold criteria).

At step 716, the agent application 120 uses the results of the analysisto determine whether a solution exists for satisfying the interest(i.e., whether there is at least one relevant match). If not, theprocess returns to step 712 whereby a new search string (broadened) isgenerated for the agent. Otherwise, the match is formatted forpublication at step 720. The solution, or match, may be represented asan agent message, or publication, a sample of which is shown anddescribed in FIG. 8. Using the above example, the message may include alist of vacation destinations. As shown in a sample message 800 of FIG.8, solutions are organized in a topical format, namely, CRUISES,ADVENTURE TRAVEL, and BEST DEALS 802. The user selects BEST DEALS, whichcauses a sub-window 804 to be presented. As shown in sub-window 804, theindividual is presented with two options, “Busch Gardens, Fla.” and NewYork City, N.Y.”. The solution may include choices of hotels thatprovide a discount based upon the time of travel, the ages of thechildren, and the method of payment, to name a few. In addition, thesolution for Busch Gardens reflects the interests of the individual(i.e., an event featuring an exhibit of exotic birds corresponding tosub-domain 508 of FIG. 5). The solution for New York City reflects theinterests of the individual (i.e., Metropolitan Museum of Art exhibit inJuly corresponding to sub-domain 506 of FIG. 5).

In exemplary embodiments, the intelligent agent application 120 mayinitiate multiple agents for generating multiple searches, each of whichrelate to a specific interest. Thus, at any given time there may be manyagents actively searching for information solutions to specifiedinterests associated with a single individual.

In addition, exemplary embodiments may offer a service plan that enablesindividuals to request development and maintenance of personalizedontological domains, e.g., for a servicing fee. The ontological domainservices may provide services based upon time (e.g., per month), numberof interests per individual, or other criteria. Furthermore, the same orindependent service provider may provide intelligent agent services toindividuals using similar service plan criteria (e.g., per month, numberof interests), or may be structured around a number of agents employed.

As indicated above, the ontological domain and intelligent agentservices provide an automated, self-governing tool for collecting andprocessing information elements as a result of detectable behaviors, andanticipating an interest as a result. The intelligent agent servicesalso facilitate the search and acquisition of relevant information inanticipation of an interest, or in response to a request for a solutionfor an interest.

As described above, the exemplary embodiments can be embodied in theform of computer-implemented processes and apparatuses for practicingthose processes. The exemplary embodiments can also be embodied in theform of computer program code containing instructions embodied intangible media, such as floppy diskettes, CD ROMs, hard drives, or anyother computer-readable storage medium, wherein, when the computerprogram code is loaded into and executed by a computer, the computerbecomes an apparatus for practicing the embodiments. The exemplaryembodiments can also be embodied in the form of computer program code,for example, whether stored in a storage medium, loaded into and/orexecuted by a computer, or transmitted over some transmission medium,such as over electrical wiring or cabling, through fiber optics, or viaelectromagnetic radiation, wherein, when the computer program code isloaded into an executed by a computer, the computer becomes an apparatusfor practicing the embodiments. When implemented on a general-purposemicroprocessor, the computer program code segments configure themicroprocessor to create specific logic circuits.

While the invention has been described with reference to exemplaryembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted forelements thereof without departing from the scope of the invention. Inaddition, many modifications may be made to adapt a particular situationor material to the teachings of the invention without departing from theessential scope thereof. Therefore, it is intended that the inventionnot be limited to the particular embodiments disclosed for carrying outthis invention, but that the invention will include all embodimentsfalling within the scope of the claims. Moreover, the use of the termsfirst, second, etc. do not denote any order or importance, but ratherthe terms first, second, etc. are used to distinguish one element fromanother. Furthermore, the use of the terms a, an, etc. do not denote alimitation of quantity, but rather denote the presence of at least oneof the referenced item.

What is claimed is:
 1. A method for implementing intelligent agentservices, comprising: generating, via a computer, an ontological domainfor an individual based upon a plurality of sets of informationelements, wherein a set of the information elements represents aspectsof a detectable behavior of the individual at a point in time, thedetectable behavior comprising one of a number of detectable behaviorsof the individual occurring within a physical and virtual geography andin relation to time, the detectable behaviors including an activityconducted by the individual at a computer and a presence of theindividual at a function; determining, via the computer, relevance ofrelationships among the plurality of sets of the information elements inthe ontological domain, wherein a relationship determined to be relevantis identified as an interest of the individual; and searching sources ofinformation using the plurality of sets of the information elementshaving the relationship determined to be relevant, and identifying asolution for satisfying the interest responsive to the searching, thesolution having a relationship to the activity conducted at the computerand the presence of the individual at the function.
 2. The method ofclaim 1, wherein the generating includes creating subdomains ofcontextually organized collections of the plurality of sets of theinformation elements, the subdomains including any orthogonally relateddata identified among the detectable behaviors.
 3. The method of claim1, further comprising: formatting the solution into a message; andpresenting the message to a device associated with the individual. 4.The method of claim 1, wherein the searching sources of informationfurther comprises: creating a search string from the plurality of setsof the information elements; gathering data in response to the searchingusing the search string, and comparing the data to the plurality of setsof the information elements; identifying matches between the data andthe plurality of sets of the information elements; and analyzing thematches to determine the solution.
 5. The method of claim 2, furthercomprising: dynamically updating the ontological domain over time byiteratively gathering the information elements in response to continuousdetection of behaviors of the individual, and updating the subdomains toreflect the iteratively gathering; and updating the interest based uponupdates made to the ontological domain.
 6. The method of claim 1,further comprising: storing each of the plurality of sets of informationelements in a corresponding record using a standard data structurehaving corresponding data fields, the record including a uniqueidentifier; and storing records produced for each of the plurality ofsets of the information elements in a database; and creating subdomainsof the ontological domain that include orthogonally related data byidentifying matching information elements from data fields acrossmultiple records in the database via corresponding unique identifiers.7. The method of claim 1, wherein the presence of the individual at thefunction is determined by a cellular network and device in combinationwith the activity conducted by the individual at the computer.
 8. Asystem for implementing intelligent agent services, comprising: a hostsystem computer; and an application executing on the host systemcomputer, the application implementing: generating an ontological domainfor an individual based upon a plurality of sets of informationelements, wherein a set of the information elements represents aspectsof a detectable behavior of the individual at a point in time, thedetectable behavior comprising one of a number of detectable behaviorsof the individual occurring within a physical and virtual geography andin relation to time, the detectable behaviors including an activityconducted by the individual at a computer and a presence of theindividual at a function; determining relevance of relationships amongthe plurality of sets of the information elements in the ontologicaldomain, wherein a relationship determined to be relevant is identifiedas an interest of the individual; and searching sources of informationusing the plurality of sets of the information elements having therelationship determined to be relevant, and identifying a solution forsatisfying the interest responsive to the searching, the solution havinga relationship to the activity conducted at the computer and thepresence of the individual at the function.
 9. The system of claim 8,wherein the generating includes creating subdomains of contextuallyorganized collections of the plurality of sets of the informationelements, the subdomains including any orthogonally related dataidentified among the detectable behaviors.
 10. The system of claim 8,wherein the application further implements: formatting the solution intoa message; and presenting the message to a device associated with theindividual.
 11. The system of claim 8, wherein the searching sources ofinformation further comprises: creating a search string from theplurality of sets of the information elements; gathering data inresponse to the searching using the search string, and comparing thedata to the plurality of sets of the information elements; identifyingmatches between the data and the plurality of sets of the informationelements; and analyzing the matches to determine the solution.
 12. Thesystem of claim 9, wherein the application further implements:dynamically updating the ontological domain over time by iterativelygathering the information elements in response to continuous detectionof behaviors of the individual, and updating the subdomains to reflectthe iteratively gathering; and updating the interest based upon updatesmade to the ontological domain.
 13. The system of claim 8, wherein theapplication further implements: storing each of the plurality of sets ofinformation elements in a corresponding record using a standard datastructure having corresponding data fields, the record including aunique identifier; and storing records produced for each of theplurality of sets of the information elements in a database; andcreating subdomains of the ontological domain that include orthogonallyrelated data by identifying matching information elements from datafields across multiple records in the database via corresponding uniqueidentifiers.
 14. A computer program product for implementing intelligentagent services, the computer program product including instructionsembodied on a computer storage medium which when executed by a computercause the computer to implement a method, the method comprising:generating an ontological domain for an individual based upon aplurality of sets of information elements, wherein a set of theinformation elements represents aspects of a detectable behavior of theindividual at a point in time, the detectable behavior comprising one ofa number of detectable behaviors of the individual occurring within aphysical and virtual geography and in relation to time, the detectablebehaviors including an activity conducted by the individual at acomputer and a presence of the individual at a function; determiningrelevance of relationships among the plurality of sets of theinformation elements in the ontological domain, wherein a relationshipdetermined to be relevant is identified as an interest of theindividual; and searching sources of information using the plurality ofsets of the information elements having the relationship determined tobe relevant, and identifying a solution for satisfying the interestresponsive to the searching, the solution having a relationship to theactivity conducted at the computer and the presence of the individual atthe function.
 15. The computer program product of claim 14, wherein thegenerating includes creating subdomains of contextually organizedcollections of the plurality of sets of the information elements, thesubdomains including any orthogonally related data identified among thedetectable behaviors.
 16. The computer program product of claim 14,wherein the instructions further cause the computer to implement:formatting the solution into a message; and presenting the message to adevice associated with the individual.
 17. The computer program productof claim 14, wherein the searching sources of information furthercomprises: creating a search string from the plurality of sets of theinformation elements; gathering data in response to the searching usingthe search string, and comparing the data to the plurality of sets ofthe information elements; identifying matches between the data and theplurality of sets of the information elements; and analyzing the matchesto determine the solution.
 18. The computer program product of claim 15,wherein the instructions further cause the computer to implement:dynamically updating the ontological domain over time by iterativelygathering the information elements in response to continuous detectionof behaviors of the individual, and updating the subdomains to reflectthe iteratively gathering; and updating the interest based upon updatesmade to the ontological domain.
 19. The computer program product ofclaim 14, wherein the instructions further cause the computer toimplement: storing each of the plurality of sets of information elementsin a corresponding record using a standard data structure havingcorresponding data fields, the record including a unique identifier; andstoring records produced for each of the plurality of sets of theinformation elements in a database; and creating subdomains of theontological domain that include orthogonally related data by identifyingmatching information elements from data fields across multiple recordsin the database via corresponding unique identifiers.
 20. The computerprogram product of claim 14, wherein the presence of the individual atthe function is determined by a cellular network and device incombination with the activity conducted by the individual at thecomputer.